package com.hup.minicontroller.server.mvp;

import android.view.MotionEvent;

public interface ICursorFloaterView {

    /**
     * 用户在界面上切换状态
     */
    void onUpdateShowCursor();

    /**
     * 权限申请结果回调
     */
    void acquireFloaterAuthResult();

    void doTerminate();

    /**
     * 客户端上线后显示光标:否则客户端短时间内没画面
     * 没画面原因:mediaProjection只在屏幕更新时产生图像
     * 按理应该在MediaProjectionScreenService中解决的,但找不到主动刷新屏幕图像的api
     */
    void onClientOnline();

    /**
     * 触摸事件
     *
     * @param action {@link MotionEvent#getAction()}
     * @param x 屏幕坐标,含状态栏和虚拟按键
     * @param y 屏幕坐标,含状态栏和虚拟按键
     */
    void onFullScreenTouch(int action, int x, int y);

    void onTouchPadMoveStart(int[] cursorParentLocationOnScreen, int[] cursorLocationOnScreen);

    void onTouchPadMove(int cursorXOnParent, int cursorYOnParent);

    void onTouchPadMoveStop();

    void onTouchPadPress(int[] cursorLocationOnScreen);

    void onTouchPadUp(int[] cursorLocationOnScreen);

    void onTouchPadClick(int[] cursorLocationOnScreen);
}